Connectivity system for establishing data access in a foreign mobile network

ABSTRACT

This disclosure is directed to establishing data access for a mobile device in a foreign mobile network. An exemplary method comprises executing a first attach operation (e.g., an IMSI attach operation) for a mobile device, the first attach operation resulting in a successful first attachment for the mobile device; determining, for a particular period, non-execution of a second attach operation (e.g., a GPRS operation) for a second attachment for the mobile device; classifying, based on the successful first attachment and the non-execution of the second attach operation for the particular period, the mobile device as a silent roamer; and determining whether the mobile device is associated with a data package for establishing a first quota of data access.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 15/728,284 filed Oct. 9, 2017, which is acontinuation of and claims priority to International Application No.PCT/US2017/031111 filed on May 4, 2017, which claims benefit of andpriority to U.S. Provisional Patent Application No. 62/331,953 filed onMay 4, 2016, the contents of all of which are hereby incorporated byreference in their entirety.

TECHNICAL FIELD

This disclosure is directed to mobile networks.

BACKGROUND

When a mobile device user lands in a foreign country and attempts toaccess data on the mobile device, the foreign mobile network makes aconnection to the home network of the mobile device to perform variousdata access-related operations such as DNS operations. This happens foreach attempt to access data on the mobile device. Therefore fore eachattempt to access data on the mobile device, signals may be transmittedfrom the foreign mobile network on satellites, fiber optic cables,and/or underwater cables. Energy resources are used for establishingthese complex international connections and transmitting signals onthese complex international connections. The present invention enablesconservation of these precious energy resources by eliminating theseneedless signals that are transmitted from the foreign mobile network tothe home mobile network for each attempt to access data on the mobiledevice. The present invention conserves energy resources by providingdata access to a mobile device user in a foreign country by facilitatingeasy access to the foreign mobile network without involving anysignaling to the home mobile network.

BRIEF SUMMARY

In some embodiments, a method for is provided for establishing dataaccess for a mobile device in a foreign mobile network. The methodcomprises: executing a first attach operation for a mobile device, thefirst attach operation resulting in a successful first attachment forthe mobile device; determining, for a particular period, non-executionof a second attach operation associated with a second attachment for themobile device; classifying, based on the successful first attachment andthe non-execution of the second attach operation for the particularperiod, the mobile device as a silent roamer; and determining whetherthe mobile device is associated with a data package for establishing afirst quota of data access.

In some embodiments, the method further comprises in response todetermining the mobile device is not associated with a data package,activating a second quota of data access for the mobile device, thesecond quota of data access used for establishing the data package forthe mobile device, the second quota of data access being less than thefirst quota of data access.

In some embodiments, the method further comprises transmitting a messageto the mobile device regarding an option of establishing a data packagefor the mobile device.

In some embodiments, the second quota of data access is activated basedon transmitting a message to the mobile device regarding an option ofestablishing the data package for the mobile device; and receiving apositive response to the message.

In some embodiments, the message comprises a text or multimedia message.

In some embodiments, the method further comprises determining the mobiledevice is associated with the data package; determining the first quotaof data access is less than a threshold quota level; transmitting amessage to the mobile device regarding an option of replenishing thefirst quota of data access; receiving a positive response to themessage; and replenishing, based on the positive response, the firstquota of data access.

In some embodiments, the mobile device comprises a Subscriber IdentityModule (SIM) card associated with a home mobile network of the mobiledevice, wherein the SIM card is compatible with the home mobile network(i.e., enables access or provides credentials to enable access to thehome mobile network), and wherein the SIM card is compatible with theforeign mobile network for registering the mobile device with theforeign mobile network and using resources from the foreign mobilenetwork. In some embodiments, the mobile device obtains a roaming number(e.g., a phone number) that is assigned to the mobile device by theforeign mobile network.

In some embodiments, the mobile device comprises an APN (access pointname) setting associated with a home mobile network of the mobiledevice.

In some embodiments, the first attach operation comprises aninternational mobile subscriber identity (IMSI) attach operation.

In some embodiments, the second attach operation comprises a generalpacket radio system (GPRS) attach operation.

In some embodiments, the first attach operation is executed before,after, or substantially simultaneously with the second attach operation.

In some embodiments, the method further comprises establishing the datapackage for the mobile device, wherein establishing the data package forthe mobile device comprises downloading an application or accessing awebsite using the second quota of data access.

In some embodiments, the mobile device accesses the Internet using thedata package and via a connectivity system.

In some embodiments, the mobile device accesses the Internet withoutconnecting to a home mobile network of the mobile device, and withoutchanging an APN setting on the mobile device.

In some embodiments, the connectivity system is located between aserving general packet radio system support node (SGSN) or visitedserving gateway (SGW) of the foreign mobile network and a gatewaygeneral packet radio system support node (GGSN) or visited packetgateway (PGW) of the foreign mobile network.

In some embodiments, the connectivity system: receives data traffic froma visited serving general packet radio system support node (SGSN) orvisited serving gateway (SGW), wherein the visited SGSN or visited SGWreceives the data traffic from the mobile device; determines whether thedata traffic comprises local breakout (LBO) traffic or non-LBO traffic;and in response to determining the data traffic comprises LBO traffic,transmits the LBO traffic to the visited gateway general packet radiosystem support node (GGSN) or visited packet gateway (PGW).

In some embodiments, a network address lookup (e.g., an InternetProtocol (IP) address lookup at a DNS server) for a foreign access pointname (APN) associated with the mobile device results in a networkaddress of the connectivity system. In some embodiments, a DNS lookup(i.e., a lookup operation executed at a DNS server) for the APNassociated with the mobile device results in an IP address. Normally,this IP address belongs to the home GGSN or home PGW associated with themobile device. However, according to the system described herein, theDNS lookup operation results in an IP address for the connectivitysystem.

In some embodiments, a connectivity system is provided for directingdata traffic in a foreign mobile network. The connectivity performsreceiving data traffic from a visited serving general packet radiosystem support node (SGSN) or visited serving gateway (SGW) associatedwith the foreign mobile network, wherein the visited SGSN or visited SGWreceives the data traffic from a foreign APN associated with a mobiledevice, wherein a network address lookup for the foreign APN results ina network address of the connectivity system; determining whether thedata traffic comprises local breakout (LBO) traffic or non-LBO traffic;and in response to determining the data traffic comprises LBO traffic,transmitting the LBO traffic to the visited gateway general packet radiosystem support node (GGSN) or visited packet gateway (PGW) associatedwith the foreign mobile network.

In some embodiments, the LBO traffic is associated with a subscriptionto the connectivity system, wherein the subscription comprises a firstquota of data access.

In some embodiments, the first quota of data access is offered to themobile device based on: executing a first attach operation for a mobiledevice, the first attach operation resulting in a successful firstattachment for the mobile device; determining, for a particular period,non-execution of a second attach operation associated with a secondattachment for the mobile device; and classifying, based on thesuccessful first attachment and the non-execution of the second attachoperation for the particular period, the mobile device as a silentroamer.

In some embodiments, the connectivity system is further for in responseto determining the data traffic comprises non-LBO traffic, transmittingthe LBO traffic to the visited GGSN or visited PGW associated with theforeign mobile network.

In some embodiments, domestic data traffic associated with a domesticAPN is transmitted directly from the visited SGSN or the visited SGW tothe visited GGSN or the visited PGW, and is not transmitted via theconnectivity system.

In some embodiments, domestic data traffic is received from the mobiledevice.

In some embodiments, a method is provided for establishing data accessfor a mobile device in a foreign mobile network, the method comprising:executing, using one or more computing device processors, a first attachoperation for a mobile device, the first attach operation resulting in asuccessful first attachment for the mobile device, the first attachoperation comprising a voice attach operation; determining, using theone or more computing device processors, for a particular period,successful or unsuccessful of a second attach operation associated witha second attachment for the mobile device, the second attach operationcomprising a data attach operation; determining, using the one or morecomputing device processors, whether the mobile device is associatedwith a data package for establishing a first quota of data access; andclassifying, using the one or more computing device processors, themobile device based on determining successful or unsuccessful executionof the second attach operation associated with the second attachment forthe mobile device, and based on determining whether the mobile device isassociated with the data package for establishing the first quota ofdata access.

In some embodiments, the method further comprises determining whetherthe mobile device previously refused to be associated with a datapackage for establishing a first quota of data access.

In some embodiments, the method further comprises determining whetherthe mobile device previously did not respond to, within a responseperiod, a prompted association with the first quota of data access.

In some embodiments, the mobile device is classified as an active mobiledevice in response to determining the second attachment for the mobiledevice and determining the mobile device is associated with the datapackage.

In some embodiments, the mobile device performs one or more dataoperations using the data package.

In some embodiments, the one or more data operations comprise anInternet operation, an email operation, a mobile application operation,a social network operation, or a messaging operation.

In some embodiments, the data package is associated with a data usageamount or a remaining data amount.

In some embodiments, the method further comprises transmitting a messageto the mobile device when the data usage amount exceeds a thresholdlevel or the remaining data amount falls below a second threshold level.

In some embodiments, the data package is associated with a data usageperiod.

In some embodiments, the method further comprises receiving, from themobile device, an instruction to renew the data package.

In some embodiments, the connectivity system is installed in the foreignmobile network and functions as proxy through which data access isprovided to the mobile device.

In some embodiments, the mobile device is located in a foreign countrydifferent from a home country of the mobile device.

In some embodiments, the mobile device is located in a foreign mobilenetwork different from a home mobile network of the mobile device.

In some embodiments, the mobile device is located outside the mobiledevice's home network.

In some embodiments, the foreign mobile network is associated with aforeign country different from the mobile device's home country.

In some embodiments, the mobile device is classified as a silent roamingmobile device in response to determining the second attachment for themobile device is unsuccessful and determining the mobile device is notassociated with the data package.

In some embodiments, the method further comprises transmitting a messageto the mobile device, the message prompting the mobile device toinitialize association of a data package with the mobile device.

In some embodiments, the method further comprises associating a seconddata package with the mobile device, the second data package beingassociated with at least one of a data amount or a data period.

In some embodiments, the mobile device uses the second package toinitiate association of the data package with the mobile device.

In some embodiments, the association of the data package with the mobiledevice is initialized on a mobile application associated with theconnectivity system.

In some embodiments, the association of the data package with the mobiledevice is initialized on a webpage associated with the connectivitysystem.

In some embodiments, the method further comprises in response todetermining the mobile device does not complete association of the datapackage with the mobile device, dissociating the second data packagefrom the mobile device.

In some embodiments, the method further comprises determining whetherexecution of the second attachment is successful during a secondparticular period, the second particular period following associating asecond data package with the mobile device, the second data packagebeing associated with at least one of a data amount or a data period,the data amount or the data period being less than a second data amountor a second data period associated with the data package, respectively.

In some embodiments, the method further comprises in response todetermining execution of the second attachment is not successful duringthe second particular period, dissociating the second data package fromthe mobile device.

In some embodiments, the method further comprises transmitting a messageto the mobile device informing the mobile device that the mobile deviceis not using the connectivity system's proxy service for accessing dataon the foreign mobile network.

In some embodiments, the method further comprises transmitting a messageto the mobile device in response to determining unsuccessful executionof the second attachment for the mobile device and determining themobile device is associated with the data package, the message informinga user of the mobile device to activate a data function of the mobiledevice.

In some embodiments, the method further comprises determining exhaustionof the data package, wherein exhaustion of the data package comprisesdetermining a consumption of the data package is equal to or greaterthan a threshold consumption level, or a remaining data level of thedata package is less than a threshold remaining data level; ordetermining a usage period of the data package is equal to or greaterthan a threshold usage level, or a remaining usage level of the datapackage is equal to or greater than a threshold remaining usage level.

In some embodiments, the method further comprises determining whetherthe mobile device is pre-associated with one or more other datapackages, the one or more other data packages being inactive or notcurrently in use by the mobile device.

In some embodiments, the method further comprises determining whetherthe second attachment of the mobile device is unsuccessful or the mobiledevice is not located in or connected to the foreign mobile network; ordetermining whether the second attachment of the mobile device issuccessful, and at least one of the mobile device is establishing dataaccess using a different data package other than the data package, andthe mobile device is located in or connected to the foreign mobilenetwork.

In some embodiments, the method further comprises in response to:determining the mobile device is pre-associated with one or more otherdata packages; and determining the exhaustion of the data package occurswhile: determining the second attachment of the mobile device isunsuccessful or the mobile device is not located in or connected to theforeign mobile network; or determining the second attachment of themobile device is successful, and at least one of the mobile device isestablishing data access using a different data package other than thedata package, and the mobile device is located in or connected to theforeign mobile network, not activating the one or more other datapackages for the mobile device.

In some embodiments, the method further comprises in response to:determining the mobile device is pre-associated with one or more otherdata packages; determining the mobile device is currently using the datapackage to establish data access for the mobile device; and determiningthe second attachment of the mobile device is successful and the mobiledevice is located in or connected to the foreign mobile network,activating the one or more other data packages for the mobile device.

In some embodiments, the method further comprises in response todetermining the mobile device is not pre-associated with one or moreother data packages, sending a message to the mobile device.

In some embodiments, the method further comprises deactivating, for themobile device, the connectivity system's proxy service for providingdata access to the mobile device.

In some embodiments, the method further comprises receiving, from themobile device, an instruction to deactivate proxy service provided bythe connectivity system for the mobile device, the proxy serviceenabling the mobile device to access data on the mobile device via theconnectivity system.

In some embodiments, the method further comprises receiving, from asecond foreign mobile network, notification that the mobile device hasconnected to the second foreign mobile network.

In some embodiments, the connectivity system's proxy service forproviding data access to the mobile device is deactivated for the mobiledevice.

In some embodiments, the method further comprises transmitting a messageto the mobile device, the message prompting the mobile device tore-establish connection with the foreign mobile network for activating,for the mobile device, the connectivity system's proxy service forproviding data access to the mobile device.

In some embodiments, the foreign mobile network comprises at least oneof a 2G, 3G, 4G, or 5G network.

In some embodiments, the foreign mobile network comprises a Long TermEvolution (LTE) network.

In some embodiments, the method further comprises upon detecting themobile device, determining, based on signaling information received fromthe mobile device, a language associated with the mobile device's homenetwork.

In some embodiments, the method further comprises transmitting a messageto the mobile device, the message providing information associated withthe connectivity system's proxy service, the message in the languageassociated with the mobile device's home network.

In some embodiments, the method further comprises transmitting a messageto the mobile device, the message in the language associated with themobile device's home network, and the message providing a user withresponse options for changing a language of future messages to adifferent language, the future messages providing information associatedwith the connectivity system's proxy service.

In some embodiments, the method further comprises receiving data trafficfrom a visited serving general packet radio system support node (SGSN)or a visited serving gateway (SGW) associated with the foreign mobilenetwork, wherein the visited SGSN or SGW receives the data traffic froma foreign access point name (APN) associated with a mobile device,wherein a network address lookup for the foreign APN results in anetwork address of the connectivity system; determining whether the datatraffic comprises local breakout (LBO) traffic or non-LBO traffic; andin response to determining the data traffic comprises LBO traffic,transmitting the LBO traffic to a visited gateway general packet radiosystem support node (GGSN) or visited packet gateway (PGW) associatedwith the foreign mobile network. Any reference to SGSN or GGSN in thisdisclosure may refer to SGW or PGW, respectively, in a different type ofnetwork.

In some embodiments, the LBO traffic is associated with a subscriptionto the connectivity system, wherein the subscription comprises a firstquota of data access.

In some embodiments, the first quota of data access is offered to themobile device based on: executing a first attach operation for themobile device, the first attach operation resulting in a successfulfirst attachment for the mobile device; determining, for a particularperiod, non-execution of a second attach operation associated with asecond attachment for the mobile device; and classifying, based on thesuccessful first attachment and the non-execution of the second attachoperation for the particular period, the mobile device as a silentroamer.

In some embodiments, the connectivity system is further for in responseto determining the data traffic comprises non-LBO traffic, transmittingthe LBO traffic to the visited GGSN or PGW associated with the foreignmobile network.

In some embodiments, domestic data traffic associated with a domesticAPN is transmitted directly from the visited SGSN or SGW to the visitedGGSN or PGW, and is not transmitted via the connectivity system.

In some embodiments, domestic data traffic is received from the mobiledevice.

In some embodiments, a system is provided for establishing data accessfor a mobile device in a foreign mobile network, the system configuredfor: executing a first attach operation for a mobile device, the firstattach operation resulting in a successful first attachment for themobile device, the first attach operation comprising a voice attachoperation; determining, for a particular period, successful orunsuccessful of a second attach operation associated with a secondattachment for the mobile device, the second attach operation comprisinga data attach operation; determining whether the mobile device isassociated with a data package for establishing a first quota of dataaccess; and classifying the mobile device based on determiningsuccessful or unsuccessful execution of the second attach operationassociated with the second attachment for the mobile device, and basedon determining whether the mobile device is associated with the datapackage for establishing the first quota of data access.

In some embodiments, a non-transitory computer-readable medium isprovided for establishing data access for a mobile device in a foreignmobile network, the non-transitory computer-readable medium comprisingcode configured for: executing a first attach operation for a mobiledevice, the first attach operation resulting in a successful firstattachment for the mobile device, the first attach operation comprisinga voice attach operation; determining, for a particular period,successful or unsuccessful of a second attach operation associated witha second attachment for the mobile device, the second attach operationcomprising a data attach operation; determining whether the mobiledevice is associated with a data package for establishing a first quotaof data access; and classifying the mobile device based on determiningsuccessful or unsuccessful execution of the second attach operationassociated with the second attachment for the mobile device, and basedon determining whether the mobile device is associated with the datapackage for establishing the first quota of data access.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a communication network, in accordance with someembodiments of the invention;

FIG. 2 is a diagram of a data traffic flow using a connectivity system,in accordance with some embodiments of the invention;

FIG. 3 is a diagram of a connectivity system, in accordance with someembodiments of the invention;

FIG. 4 is a flow diagram of a GTP call flow, in accordance with someembodiments of the invention;

FIG. 5 is a flow diagram of a IMSI attach call flow, in accordance withsome embodiments of the invention;

FIG. 6 is a flow diagram of a GPRS attach call flow, in accordance withsome embodiments of the invention; and

FIG. 7 is a diagram of a process flow for a connectivity system and amobile device, in accordance with some embodiments of the invention.

FIG. 8 is a flow diagram of a cancel location procedure, in accordancewith some embodiments of the invention.

FIG. 9 is a flow diagram of a LTE connectivity system embodiment, inaccordance with some embodiments of the invention.

FIGS. 10A to 10H are a process flow for a connectivity system and amobile device, in accordance with some embodiments of the invention.

All of these drawings are illustrations of certain embodiments. Thescope of the claims is not limited to the specific embodimentsillustrated in the drawings and described herein.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The following is a glossary of terms associated with mobile networks andthe technology described in this disclosure. Note that some terms maynot be used in this disclosure.

3G: GPRS/UMTS mobile telephony systems as standardized by the 3GPP3GPP: 3rd Generation Partnership Project (www.3gpp.org)

AF: Application Function API: Application Programming Interface APN:Access Point Name ARP: Alternative Roaming Provider BBERF: BearerBinding & Event Reporting Function CDMA: Code Division Multiple AccessCDR: Call Detail Record DB: Database DNS: Domain Name System EU:European Union FTP: File Transfer Protocol FUP: Fair Usage Policy GGSN:Gateway GPRS Support Node GPRS: General Packet Radio System GTP: GPRSTunneling Protocol HLR: Home Location Register HSS: Home SubscriberServer HTTP: Hypertext Transfer Protocol

IETF: Internet Engineering Task Force (www.ietf.org)

IMS: IP Multimedia Subsystem IMSI: International Mobile SubscriberIdentity IP: Internet Protocol LBO: Local Breakout LDAP: LightweightDirectory Access Protocol LTE: Long Term Evolution MAP: MobileApplication Part MDN: Mobile Directory Number MME: Mobility ManagementEntity MMS: Multimedia Messaging Service MRS: Monitoring & ReportingSystem MSC: Mobile Switching Center MSISDN: Mobile Station ISDN NumberNEBS: Network Equipment Building System NMS: Network Management SystemOCS: Online Charging System OFCS: Offline Charging System O&M: Operationand Maintenance OSS: Operations Support System PGW: Packet Gateway

P2P: Peer To Peer (file-sharing applications)

PCC: Policy & Charging Control PCEF: Policy & Charging EnforcementFunction PCRF: Policy & Charging Rule Function PLMN: Public Land MobileNetwork PMI: Platform Management Interface QoS: Quality of Service SFTP:Secure File Transfer Protocol SGSN: Serving GPRS Support Node SGW:Serving Gateway SIM: Subscriber Identity Module

SMPP: Short Message Peer to Peer protocol

SMS: Short Message Service SMSC: Short Message Service Center SNMP:Simple Network Management Protocol SOAP: Simple Object Access ProtocolSPR: Subscriber Profile Repository SS7: Signaling System No 7 STP:Signal Transfer Point USSD: Unstructured Supplementary Services DataVMS: Voucher Management System

VoLTE: Voice over Long-term Evolution

VLR: Visitor Location Register XML: Extensible Markup Language

The present invention comprises a LBO connectivity system that enables aforeign mobile network or an operator of the foreign mobile network toprovide data access to a newly detected mobile device without using thehome network of the newly detected mobile device. The connectivitysystem disclosed herein differs from other systems by providing adetection process for a “silent roaming” mobile device (or silentroamer). If a voice connection is established between the foreign mobilenetwork and the mobile device, but no data connection is establishedbetween the foreign mobile network and the mobile device, within apredetermined period, the connectivity system classifies the mobiledevice as a silent roamer. Additionally, the connectivity systemdisclosed herein differs from other systems by being located in betweenthe SGSN and GGSN of the foreign mobile network. This means that themobile device does not need to change the mobile device's APN setting inorder to establish data access using the foreign mobile network.Additionally, the connectivity system enables the mobile device toaccess data without changing the mobile device's SIM card and withoutthe need to find a non-mobile network data bearer such as a Wi-Ficonnection. The present invention is can be used with any mobile networkprotocol such as 3G, 4G, LTE, UMTS, etc. As used herein, a mobilenetwork may also be referred to as a cellular network.

As further explained herein, upon being classified as a silent roamer,the connectivity system assigns a limited amount of data to the mobiledevice in order for the mobile device to purchase a data package offeredby the operator of the foreign mobile network. As used herein, the terms“purchase” and “establish” may be used interchangeably. In someembodiments, as the mobile device uses up a certain amount of dataassociated with the data package and/or uses a certain amount of timeassociated with the data package, a renewal message (e.g., an SMS) maybe transmitted (e.g., by the connectivity system) to the mobile device.The user of the mobile device may renew the data package by transmittinga response message (e.g., an SMS) to the sender of the message.

In some embodiments, the connectivity system is integrated into anoperator network (e.g., a GSM operator network). The connectivity systemmay comprise first probing infrastructure hardware and/or software whichidentifies the IMSI attach procedure established in the foreign mobilenetwork. The connectivity system also comprise second probinginfrastructure hardware and/or software which detects the networksignaling associated with mobile devices in the foreign mobile networkand detects that the mobile device has not established a data session(e.g., a GPRS session) within a certain period of time. The connectivitysystem sends a message to the mobile device prompting the mobile deviceto establish a subscription account for the mobile device. If asubscription account is established, the connectivity system acts as adata access proxy for the mobile device that enables the mobile deviceto access data using the foreign mobile network without needing toinstall a new SIM card associated with the foreign mobile network.

In some embodiments, a mobile device described herein may be a mobilecomputing device, a mobile phone, laptop, tablet, watch, e-reader,headgear, eyewear, etc. The mobile device may have voice and datacapabilities. In some embodiments, the term “data” may refer to “signal”or “information.” In some embodiments, the terms “signal,” “data,” and“information” may be used interchangeably. Any reference to data mayalso include references to the contents of the data. Any signalsdescribed herein may be electronic or electromagnetic signals.Additionally, any signals described herein may be either be transitoryor non-transitory signals. Additionally, any signals described hereinmay be analog signals, digital signals, and/or mixed analog and digitalsignals. The terms “system,” “apparatus,” “server,” “box,” “agent,”“device,” “unit,” “sub-unit,” “element,” “application,”“infrastructure,” etc., may be used interchangeably in some embodiments.In some embodiments, a method is provided for performing the varioussteps performed by any system described herein. In some embodiments, anon-transitory computer-readable medium comprising code is provided forcausing a system to perform the various methods described herein. Insome embodiments, a system may comprise a housing that includes variousunits, such as those illustrated in FIG. 3. In some embodiments, achipset may be disposed in the housing and may be interfaced with aprocessor. The chipset may have hardware (e.g., electronic components inan electronic circuit) for supporting various connections within thesystem, or any other connection from the system to external systems. Aconnectivity system as described herein may also be referred to as aconnectivity box.

FIG. 1 is a diagram of a communication network (e.g., a mobilecommunication network), in accordance with some embodiments of theinvention. FIG. 1 includes a telecom operator 120 that comprises a SGSN104, a connectivity system 102, and a GGSN 106. Also presented are abase station 107 and the Internet 112. The Internet may represent anynetwork such as a LAN, WAN, the Internet, etc. Also presented are amobile device 108, a user 109 of the mobile device, self care channels110 for the connectivity system, and a connectivity database 111. FIG. 1presents exemplary connections between the various systems, devices,and/or entities described herein. This disclosure is not limited to theexemplary connections presented herein, and connections may existbetween some systems, devices, and/or entities even though they are notdisplayed as being connected in FIG. 1. Additionally, some connectionspresented in FIG. 1 may be optional.

The connectivity system identifies silent roaming mobile devices (silentroamers) that disable data roaming functionality, and enables thesesilent roamers to obtain data access. In some embodiments, the mobiledevice in FIG. 1 is a silent roaming mobile device. The connectivitysystem identifies silent roamers by probing network attachment related(IMSI attachment and DATA/GPRS/LTE attachment) signaling in the networkbetween a visited PLMN (VPLMN) and a home PLMN (HPLMN) for the roamer,where for silent roamers, IMSI attachment is replied as authorized byHPLMN to VPLMN, but there exists no DATA/GPRS/LTE attachment reply orauthorization from HPLMN to VPLMN due to the data roaming functionalitybeing disabled on the mobile device.

The connectivity system transmits a notification to a silent roamerabout a data access service after setting a temporary subscription forthe silent roamer. The temporary subscription may be associated with alimited amount of data (e.g., 50 MB). The notification to the silentroamer may be via a message such as an SMS, an MMS, or a USSD. Inalternative embodiments, the silent roamer may be notified by any typeof message transmitted via a mobile network. In still alternativeembodiments, the silent roamer may be notified via a voice call or avoicemail transmitted via a mobile network. In still alternativeembodiments, the silent roamer may learn about the data service viaother any other means that do not include transmitting a message to thesilent roamer. In some embodiments, the term “roaming” may refer to theability of a mobile device user to send and receive data (e.g., usingthe Internet) when traveling outside the geographical coverage area ofthe mobile device's home network (i.e., when traveling to a geographicalcoverage area of a foreign mobile network).

In some embodiments, the connectivity system acts as a proxy betweenVPLMN SGSN (visited SGSN) and VGGSN (visited GGSN). This proxycapability allows the connectivity system to map a foreign silent roamerAPN to a uniform APN accepted by the visited GGSN. Mapping the foreignsilent roamer APN to a uniform APN allows accumulation or control ofdata sessions conducted on the foreign silent roamer. Controlling thedata session allows redirecting web pages accessed during the temporarysubscription to a particular webpage (e.g., a webpage associated withthe connectivity system). Controlling the data session also means thatno webpages other than the particular webpage may be accessed on theforeign silent roamer. As used herein, a web page may refer to a website, a web application, etc. Redirecting the data session to particularwebpage may allow a user of the silent roamer to obtain data access byestablishing a subscription for a data access service. The silent roamermay choose a subscription from one or more presented subscriptions,wherein each subscription may be associated with a particular dataaccess quota, a particular data access period, a particular data accessarea, and/or a particular data access price.

If a data package is established by the silent roamer, a certain quotamay be established for the silent roamer for a particular location(e.g., an airport, a grocery store, etc.) and particular operator mobilenetwork associated with the particular location. In some embodiments,the silent roamer accesses data over a data path controlled by theconnectivity system on the visited PLMN. The connectivity systemcontrols data traffic as a proxy between SGSN and GGSN of the visitedPLMN. In some embodiments, the connectivity system transmits a messageto the silent roamer when the silent roamer uses up a certain percentage(e.g., 75%) of the quota associated with the silent roamer'ssubscription. Upon consuming the quota, the connectivity system resetsthe subscription for the silent roamer such that the display (e.g., thedisplayed webpage) on the silent roamer is redirected to thesubscription webpage.

In some embodiments, the self-care channels may be computing devicesthat are used for performing operations associated with the connectivitysystem. The connectivity database may store any data that is accessed bythe connectivity system (e.g., subscriber data, data package usage,remaining data package quota, etc.). In some embodiments, the self-carechannels and/or the connectivity database may be integrated into theconnectivity system. Any connections presented in FIG. 1 or any otherfigure may be wired or wireless connections.

FIG. 2 illustrates a data traffic flow using a connectivity system. FIG.2 presents a visited network 210 (e.g., in relation to the mobile device108) and a home network 220 (e.g., in relation to the mobile device 108)comprising a home GGSN 204. FIG. 2 also presents a foreign APN which isassociated with or refers to the mobile device 108. The foreign APNtransmits data roaming traffic (or data packets) to the visited SGSN104. The visited SGSN accesses a DNS server 218 to determine whether theIP address associated with the received data roaming traffic is an LBOIP address. The DNS server may determine whether an IP address is adomestic IP address or an LBO IP address. In some embodiments, the DNSserver may comprise a database of domestic IP addresses and/or LBO IPaddresses. In some embodiments, the DNS server may be integrated intothe operator SGSN. In some embodiments, any functions described as beingperformed by the DNS server may be performed wholly by the visited SGSNor by a combination of the DNS server and the visited SGSN.

If the DNS server determines that the IP address associated with thedata roaming traffic (or a transmitter of the data roaming traffic) is aLBO IP address, data roaming traffic passes from the visited SGSN to thevisited GGSN via the connectivity system. The home network is notinvolved in this data traffic path, i.e., the home GGSN has beenreplaced in a traditional data traffic path by the visited GGSN. Forthis data traffic path, both the GTP control signals (GTP-C) and the GTPdata signals (GTP-U) pass through the connectivity system, which directsthe GTP stream (GTP-C and GTP-U) to the visited GGSN, thus eliminatingthe need for home network involvement. The online charging interface(i.e., the Gy) is disabled in the visited GGSN for foreign APN datasessions.

The DNS server (in coordination with the visited SGSN) routes theforeign APN data roaming traffic to the connectivity system by resolvingthe foreign APN's IP address (e.g., the mobile device IP address and/ormobile device APN IP address) to the connectivity system's IP address.Upon the data roaming traffic reaching the connectivity system, theconnectivity system determines whether an active subscription existswith the connectivity system. The active subscription may be associatedwith the mobile device or a particular IP address associated with themobile device. If an active subscription is found, the data roamingtraffic is LBO traffic and is transmitted to the visited GGSN. If anactive subscription is not found, the data roaming traffic is non-LBOtraffic, and is transmitted to the home GGSN. If an active subscriptionto the connectivity system is not found, data access via the visitedGGSN is not provided to the silent roamers.

The GTP interface in FIG. 2 may comprise at least one of the GTP-Uinterface and the GTP-C interface. The GTP-U interface is the interfacebetween SGSN and GGSN that comprises the data stream of a data session.The GTP-C interface is the interface between SGSN and GGSN thatcomprises the data session control signaling. When the silent roamingmobile device has an active subscription with the connectivity system,the GTP interface is between the visited SGSN and the visited GGSN. Inthe case where the roamer has no active connectivity systemsubscription, the visited SGSN will communicate over the GTP interfaceto the home GGSN, and not to the visited SGSN.

Domestic traffic (e.g., associated with a domestic APN of the samemobile device 108 or a different mobile device) is unaffected by theconnectivity system, and does not pass through the connectivity system.Therefore, if the DNS server (e.g., in coordination with the visitedGGSN) determines that the IP address associated with the data roamingtraffic (or a transmitter of the data roaming traffic) is a domestic IPaddress, the data roaming traffic is domestic traffic which istransmitted from the visited SGSN to the visited GGSN.

FIG. 3 illustrates an exemplary complex computing environment, inaccordance with some embodiments of the invention. For example, thecomputing environment may be included in and/or utilized by theconnectivity system, the mobile device, and/or any other systemdescribed herein. The computing environment and/or any of its unitsand/or sub-units described herein may include general hardware,specifically-purposed hardware, and/or specially purposed-software.

The computing environment may include, among other units, a processor302, a memory unit 304, an input/output (I/O) unit 324, a communicationunit 325, a resource allocator 306, a location determinator 314, and anAPI unit 316. As described herein, each of the processor, the memoryunit, the I/O unit, and/or the communication unit may include and/orrefer to a plurality of respective units, sub-units, and/or elements.The various units may be implemented entirely in hardware, entirely insoftware, or in a combination of hardware and software. Some of theunits may be optional. Any software described herein may be speciallypurposed software for performing a particular function. In someembodiments, hardware may also be specially purposed hardware forperforming some particular functions. Furthermore, each of theprocessor, the memory unit, the I/O unit, the communication unit, and/orthe other units in FIG. 3, may be operatively and/or otherwisecommunicatively coupled with each other using a chipset such as anintelligent chipset. The chipset may have hardware for supportingconnections in the computing environment and connections made toexternal systems from the computing environment. While various units ofFIG. 3 are presented as separate units, some of the units may becomprised in other units. Additionally, some of the units may beoptional. Additionally, one or more units may be coupled or connected(e.g., via a wired or wireless connection) to other units. For example,the processor may be connected to one or more other units in FIG. 3.

The processor may control any of the other units and/or functionsperformed by the units. Any actions described herein as being performedby a processor may be taken by the processor alone and/or by theprocessor in conjunction with one or more additional processors, units,and/or the like. Additionally, while only one processor may be shown inFIG. 3, multiple processors may be present and/or otherwise included inthe computing environment. Thus, while instructions may be described asbeing executed by the processor, the instructions may be executedsimultaneously, serially, and/or by one or multiple processors inparallel. In some embodiments, the processor may refer to anymicroprocessor, such as a specially purposed microprocessor. In someembodiments, the processor may refer to any type of processor, includinga digital processor, an analog processor, a mixed analog-digitalprocessor, etc.

In some embodiments, the processor may be implemented as one or morecomputer processor (CPU) chips and/or graphical processor (GPU) chipsand may include a hardware device capable of executing computerinstructions. The processor may execute instructions, codes, computerprograms, and/or scripts. The instructions, codes, computer programs,and/or scripts may be received from and/or stored in the memory unit,the I/O unit, the communication unit, other units, and/or the like. Asdescribed herein, any unit may be utilized to perform any methodsdescribed herein. In some embodiments, the computing environment may notbe a generic computing system, but instead may include customized unitsdesigned to perform the various methods described herein.

In some embodiments, the processor may include one or more other unitssuch as those presented in FIG. 3, which may be operably coupled to eachother. Therefore, while the units are presented as being separate fromthe processor, the memory unit, the I/O unit, and the communicationunit, in some embodiments, one or more units may be located in at leastone of the processor, the memory unit, the I/O unit, and thecommunication unit.

The location determinator may facilitate detection, generation,modification, analysis, transmission, and/or presentation of locationinformation (e.g., of the mobile device). Location information mayinclude global positioning system (GPS) coordinates, an Internetprotocol (IP) address, a media access control (MAC) address, geolocationinformation, an address, a port number, a zip code, a server number, aproxy name and/or number, device information (e.g., a serial number),and/or the like. In some embodiments, the location determinator mayinclude various sensors, a radar, and/or other specifically-purposedhardware elements for enabling the location determinator to acquire,measure, and/or otherwise transform data of a mobile device intolocation information. In some embodiments, the location determinationmay be located in the processor.

The resource allocator may facilitate the determination, monitoring,analysis, and/or allocation of computing resources throughout thecomputing environment. As such, computing resources of the computingenvironment utilized by the processor, the memory unit, the I/O unit,the communication unit, and/or any other units of the computingenvironment, such as processing power, data storage space, networkbandwidth, and/or the like may be in high demand at various times duringoperation. Accordingly, the resource allocator may be configured tomanage the allocation of various computing resources as they arerequired by particular units of the computing environment. In someembodiments, the resource allocator may include sensors and/or otherspecially-purposed hardware for monitoring performance of each unitand/or sub-unit of the computing environment, as well as hardware forresponding to the computing resource needs of each unit and/or sub-unit.In some embodiments, the resource allocator may utilize computingresources of a second computing environment separate and distinct fromthe computing environment to facilitate a desired operation. Therefore,in some embodiments any processor may be referred to as a load-balancingprocessor. Any apparatus described herein may be referred to asload-balancing apparatus or server. The term load-balancing may refer toallocation of computing resources to the various units of the computingenvironment.

For example, the resource allocator may determine a number of computingoperations that need to be performed or executed by the computingenvironment. The resource allocator may then determine that the numberof computing resources required by the computing operations meets and/orexceeds a predetermined threshold value. Based on this determination,the resource allocator may determine an amount of additional computingresources (e.g., processing power, storage space of a particularnon-transitory computer-readable memory medium, network bandwidth,and/or the like) required by the processor, the memory unit, the I/Ounit, the communication unit, and/or any sub-unit of the aforementionedunits for enabling safe and efficient operation of the computingenvironment while supporting the number of simultaneous computingoperations. The resource allocator may then retrieve, transmit, control,allocate, and/or otherwise distribute determined amount(s) of computingresources to each unit of the computing environment. In someembodiments, the allocation of computing resources of the resourceallocator may include the resource allocator flipping a switch,adjusting processing power, adjusting memory size, partitioning a memoryelement, transmitting and/or receiving data, controlling one or moreinput and/or output devices, modifying various communication protocols,and/or the like. In some embodiments, the resource allocator mayfacilitate utilization of parallel processing techniques, e.g., forparallel computing operations. A computing operation may refer to anyoperation, function, method, process, etc., described in thisdisclosure. In some embodiments, the resource allocator may be locatedin the processor.

The memory unit and/or any of its sub-units described herein may includerandom access memory (RAM), read only memory (ROM), and/or various formsof secondary storage. RAM may be used to store volatile data and/or tostore instructions that may be executed by the processor and/or any ofthe other units of the computing environment. For example, the datastored may be a command, a current operating state of the computingenvironment and/or any particular unit of the computing environment, anintended operating state of the computing environment and/or anyparticular unit of the computing environment, and/or the like. As afurther example, data stored in the memory unit may include instructionsrelated to various methods and/or functionalities described herein. ROMmay be a non-volatile memory device that may have a smaller memorycapacity than the memory capacity of a secondary storage. ROM may beused to store instructions and/or data that may be read during executionof computer instructions. In some embodiments, access to both RAM andROM may be faster than access to secondary storage. Secondary storagemay be comprised of one or more disk drives and/or tape drives and maybe used for non-volatile storage of data or as an over-flow data storagedevice if RAM is not large enough to hold all working data. Secondarystorage may be used to store programs that may be loaded into RAM whensuch programs are selected for execution. In some embodiments, thememory unit may include one or more databases for storing any datadescribed herein. Additionally or alternatively, one or more secondarydatabases located remotely from the computing environment may beutilized and/or accessed by the memory unit.

The API unit may facilitate deployment, storage, access, execution,and/or utilization of information associated with APIs of the computingenvironment. In some embodiments, the API unit may be located in thememory unit, while in other embodiments, the API unit may be locatedseparate from the memory unit. The API unit may enable the various unitsof the computing environment to communicate with each other and/orperform computing operations described herein. Accordingly, the API unitmay include API databases comprising information that may be accessedand/or utilized by applications and/or operating systems of otherdevices and/or computing environments. In some embodiments, each APIdatabase may be associated with a customized physical circuit includedin the API unit. Additionally, each API database may be public and/orprivate, and so authentication credentials may be required to accessinformation in an API database.

Any aspect of the memory unit may comprise any collection andarrangement of volatile and/or non-volatile components suitable forstoring data. For example, the memory unit may comprise random accessmemory (RAM) devices, read only memory (ROM) devices, magnetic storagedevices, optical storage devices, and/or any other suitable data storagedevices. In particular embodiments, the memory unit may represent, inpart, computer-readable storage media on which computer instructionsand/or logic are encoded. The memory unit may represent any number ofmemory components within, local to, and/or accessible by a processor.

The I/O unit may include hardware and/or software elements for enablingthe computing environment to receive, transmit, present data. Forexample, elements of the I/O unit may be used to receive, transmit,present data. In this manner, the I/O unit may enable the computingenvironment to interface with a human user. As described herein, the I/Ounit may include an I/O device. The I/O device may facilitate thereceipt, transmission, processing, presentation, display, input, and/oroutput of data as a result of executed processes described herein. Insome embodiments, the I/O device may include a plurality of I/O devices.In some embodiments, the I/O device may include one or more elements ofa signal system, a computing device, a server, and/or a similar device.

The I/O device may include a variety of elements that enable a user tointerface with the computing environment. For example, the I/O devicemay include a keyboard, a touchscreen, a touchscreen sensor array, amouse, a stylus, a button, a sensor, a depth sensor, a tactile inputelement, a location sensor, a biometric scanner, a laser, a microphone,a camera, and/or another element for receiving and/or collecting inputfrom a user and/or information associated with the user and/or theuser's environment. Additionally and/or alternatively, the I/O devicemay include a display, a screen, a projector, a sensor, a vibrationmechanism, a light emitting diode (LED), a speaker, a radio frequencyidentification (RFID) scanner, and/or another element for presentingand/or otherwise outputting data to a user. In some embodiments, the I/Odevice may communicate with one or more elements of the processor and/orthe memory unit to execute operations described herein.

The communication unit may facilitate establishment, maintenance,monitoring, and/or termination of communications between the computingenvironment and other systems, units, etc. The communication unit mayfurther enable communication between various units of the computingenvironment. The communication unit may facilitate establishment,maintenance, and/or termination of a communication connection betweenthe computing environment and another device by way of a network ordirectly. For example, the communication unit may detect and/or define acommunication protocol required by a particular network and/or networktype. Communication protocols utilized by the communication unit mayinclude Wi-Fi protocols, Li-Fi protocols, cellular data networkprotocols, Bluetooth® protocols, WiMAX protocols, Ethernet protocols,powerline communication (PLC) protocols, Voice over Internet Protocol(VoIP), other wired or wireless protocols, and/or the like. In someembodiments, facilitation of communication between the computingenvironment and any other device, as well as any element internal to thecomputing environment, may include transforming and/or translating datafrom being compatible with a first communication protocol to beingcompatible with a second communication protocol. In some embodiments,the communication unit may determine and/or monitor an amount of datatraffic to consequently determine which particular network protocol isto be used for transmitting and/or receiving data.

The communication device may include a variety of hardware and/orsoftware specifically purposed to enable communication between thecomputing environment and another device, as well as communicationbetween elements of the computing environment. In some embodiments, thecommunication device may include one or more radio transceivers, chips,analog front end (AFE) units, antennas, processors, memory, other logic,and/or other components to implement communication protocols (wired orwireless) and related functionality for facilitating communicationbetween the computing environment and any other device. Additionallyand/or alternatively, the communication device may include a modem, amodem bank, an Ethernet device such as a router or switch, a universalserial bus (USB) interface device, a serial interface, a token ringdevice, a fiber distributed data interface (FDDI) device, a wirelesslocal area network (WLAN) device and/or device component, a radiotransceiver device such as code division multiple access (CDMA) device,a global system for mobile communications (GSM) radio transceiverdevice, a universal mobile telecommunications system (UMTS) radiotransceiver device, a long term evolution (LTE) radio transceiverdevice, a worldwide interoperability for microwave access (WiMAX)device, and/or another device used for communication purposes.

It is contemplated that the computing elements of the computingenvironment be provided according to the structures disclosed herein maybe included in integrated circuits or chipsets of any type, such as ROM,RAM (random access memory), DRAM (dynamic RAM), and video RAM (VRAM),PROM (programmable ROM), EPROM (erasable PROM), EEPROM (electricallyerasable PROM), EAROM (electrically alterable ROM), caches, and othermemories, and to microprocessors and microcomputers in all circuitsincluding ALUs (arithmetic logic units), control decoders, stacks,registers, input/output (I/O) circuits, counters, general purposemicrocomputers, RISC (reduced instruction set computing), CISC (complexinstruction set computing) and VLIW (very long instruction word)processors, and to analog integrated circuits such as digital to analogconverters (DACs) and analog to digital converters (ADCs). ASICS, PLAs,PALs, gate arrays and specialized processors such as processors (DSP),graphics system processors (GSP), synchronous vector processors (SVP),and image system processors (ISP) all represent sites of application ofthe principles and structures disclosed herein.

In some embodiments, implementation of any unit of any system describedherein is contemplated in discrete components or fully integratedcircuits in silicon, gallium arsenide, or other electronic materialsfamilies, as well as in other technology-based forms and embodiments. Itshould be understood that various embodiments of the invention canemploy or be embodied in hardware, software, microcoded firmware, or anycombination thereof. When an embodiment is embodied, at least in part,in software, the software may be stored in a non-volatile,machine-readable medium.

The computing environment may include, but is not limited to, computinggrid systems, distributed computing environments, cloud computingenvironment, etc. Such networked computing environments include hardwareand software infrastructures configured to form a virtual organizationcomprised of multiple resources which may be in geographically disperselocations.

In some embodiments, the computing environment may be a connectivitysystem. The connectivity system may comprise a logic unit 318 thatperforms one or more operations. For example, the logic unit providescontrol instructions to an appropriate unit (e.g., the processor) as towhen to transmit a message to a mobile device. The connectivity systemmay further comprise a subscriber database 320 which comprises records322 of a subscribed mobile device (e.g., a mobile device associated witha data plan) and data plans for establishing data access via theconnectivity system. As used herein, a data package may also be referredto as a data plan.

The connectivity system may further comprise a usage counting unit 310that records the data usage of a subscribed mobile device. Theconnectivity system further comprises a notification manager unit 330that sends notifications to the subscribed mobile device at the time ofsubscription activation, subscription expiry, and breach of data usagethresholds. The connectivity system further comprises a “stats & CDRs”unit 326 that generates CDRs for data usage and/or data operationsand/or data-related activity performed by the subscribed mobile device.The connectivity system further comprises an alarms unit 307 thatprovides alerts when technical issues or problems are triggered with theoperation of the connectivity system. The connectivity system furthercomprises a stats and log files unit 327 that generates statistics andlog files to provide a record of activity associated with theconnectivity system.

The connectivity system also comprises a GTP interface 334 that isconnected to the VSGSN 104 (visited SGSN) and the VGGSN 106 (visitedGGSN). The VGGSN is connected to a network such as the Internet 336. Theconnectivity system also comprises a SMS/SMPP interface 332 whichtransmits notification messages to the SMSC 338. The SMSC could be anoperator of the mobile network (i.e., an operator SMSC) or a third partySMSC (i.e., a non-operator SMSC). The connectivity system may store aSMS/SMPP account. The connectivity system also comprises a FTP/SFTPinterface 328 which collects CDRs and stats from the connectivity system(e.g., the stats and CDRs unit, the stats and log files unit, etc.) andtransmit this data to the operator's OSS. The operator's OSS may use thedata to present useful statistics (e.g., graphical statistics) andtrends for the connectivity system.

The connectivity system further comprises a MAP interface 312. The MAPinterface receives, from the STP 342, ‘location update’ and ‘insertsubscriber data’ messages (either singly or together known as MAP Tracemessages) for both IMSI attach and DATA/GPRS/LTE attach procedures ofmobile devices that qualify to receive a data package option associatedwith the connectivity system. The ‘location update’ message may includelocation information associated with a mobile device. Either one or bothof these messages may be used as inputs to the connectivity system todecide whether to perform one or more of the following actions: send awelcome message to a subscribed mobile device, send the subscribedmobile device a list of data package options associated with theconnectivity system, confirm purchase of a data package, and/orprovision a default data package quota (e.g., 50 MB) to allow thesubscribed mobile device to access the connectivity system's webapplication and/or web site to purchase a data package, wherein the datapackage has a data quota greater than the default data package.

The connectivity system further comprises a HTTPS-REST interface 345.The HTTPS-REST interface allows the provisioning of the connectivitysystem's subscription via a mobile device application, webpage orwebsite accessed on the mobile device. The HTTPS-REST may receiveprovisioning data from the data system 344. The functions of theHTTPS-REST interface include at least one of the following: data packagemanagement, quota management for the data package, define new datapackages, inquire about data packages, update or deleted attributes ofdata packages, management of subscriber information (e.g., mobile deviceidentification information, user identification information, etc.), adda new subscriber's account, add a new data package or additional dataquota to an existing data package of an existing subscriber's account,inquire about a subscriber's account (e.g., how much available quota isleft in the data package of the subscriber's account), update or resetlist of data packages available to a subscriber, access usageinformation regarding a subscriber's data plan, etc.

Several types of customized hardware and/or software are furtherprovided in this disclosure. The customized hardware and/or software maybe integrated into any system described herein such as the connectivitysystem, the mobile device, etc. For example, customized hardware and/orsoftware is provided to detect whether data roaming (or data access)functionality is enabled on the mobile device and whether the mobiledevice is associated with any active data package. As a further example,customized hardware and/or software is provided to enable data usage bythe mobile device without generating any roaming traffic (e.g.,international roaming traffic). As a further example, customizedhardware and/or software is provided to enable data usage on the mobiledevice with a foreign mobile network without installing a SIM cardassociated with the foreign mobile network. As a further example,customized hardware and/or software is provided to replenish data quotaassociated with a previously established data package with a messageresponse from the mobile device (e.g., to the connectivity system). Insome embodiments, software as used in this disclosure may also bereferred to as an application.

FIG. 4 is a flow diagram of a GTP call flow, in accordance with someembodiments of the invention. An activate PDP context request isreceived (step 402) at the visited SGSN (VSGSN) from a mobile device,wherein the roaming functionality is activated for the mobile device.The mobile device is attempting to establish a data session using themobile device's APN, which is a foreign APN. The visited SGSN queries(step 404) the operator DNS server for the identity of the home GGSN ofthe foreign APN. The visited SGSN (and/or the operator DNS server and/orthe connectivity system, either singly or in combination) resolves (step404) the foreign APN to a connectivity system IP address or a visitedGGSN (VGGSN) IP address. The visited SGSN forwards (step 404) the GTPcontext request to the connectivity system.

The connectivity system examines the MSISDN (e.g., in the GTP contextrequest) and hence the subscriber record. If an active subscriptionexists for the subscriber (i.e., LBO subscriber), the connectivitysystem forwards (step 406) the data session to the visited GGSN (e.g.forwards the GTP context request to the visited GGSN). An LBO subscribermay be any mobile device that has a data package subscription with theconnectivity system. The connectivity system also sets (step 406) theSGSN IP address for GTP-C messages and for GTP-U data to theconnectivity system IP address. The visited GGSN responds positively tothe session request and allows the session out to a network such as theInternet. In response to receiving the GTP context request from theconnectivity system, the visited GGSN transmits (step 408) a GTP contextresponse to the connectivity system. The connectivity system also sets(step 408) the GGSN IP address for GTP-C messages and for GTP-U data tothe connectivity system IP address. The connectivity system transmits(step 410) the GTP context response to the visited SGSN. An IP addressas used in this disclosure may refer to any type of network address.

For data sessions conducted via the connectivity system, theconnectivity system remains in the data path and acts as a GTP proxybetween the SGSN and the GGSN for the connectivity system's datasessions. The connectivity system changes the IP addresses (e.g., forGTP-C messages and for GTP-U data) to appear as the SGSN to the GGSN,and as the GGSN to the SGSN.

For data sessions conducted using the mobile device that are not routedthrough the connectivity system, the connectivity system GTP proxy stepsout of the traffic path by setting the SGSN and GGSN IP addresses as theactual SGSN and GGSN network node addresses during the GTP-C ActivatePDP context procedure (e.g., request and response procedures).Consequently, the connectivity system does not receive any GTP-Csignaling for the course of that data session, and the GTP-U data istransmitted directly from the SGSN to the GGSN.

FIG. 5 is a flow diagram of a IMSI attach call flow, in accordance withsome embodiments of the invention. The VLR receives (step 502) an IMSIattach request from the mobile device. The VLR transmits (step 504) aMAP trace of an update location request to the connectivity system,which, in turn, transmits the update location request to the HLR (e.g.,via an international signaling link). The HLR transmits (step 506) a MAPof an insert subscriber data message to the connectivity system (e.g.,via an international signaling link). Upon receiving at least one of theupdate location request and/or the insert subscriber data message, theconnectivity system checks (step 510) whether the mobile device has asubscription to the connectivity system. If no subscription exists, theconnectivity system transmits (step 510) a message to the mobile deviceinforming the user of the mobile device the option of establishing adata package subscription. If a subscription exists, the connectivitysystem transmits (step 510) a welcome message to the mobile device. TheVLR transmits (step 508) an attach acceptance (in response to the IMSIattach request) to the mobile device. The attach acceptance may betransmitted at least one of before or after the update location requestis transmitted from the VLR to the connectivity system and/or the insertsubscriber data message is transmitted from the connectivity system tothe VLR. No non-roaming signal traffic is transmitted through theconnectivity system. In some embodiments, at least some MAP messages arenot transmitted through the connectivity system.

In some embodiments, the connectivity system executes operations (e.g.,logical operations such as those presented in FIG. 7) to determine ifthe mobile device (e.g., a mobile device that has subscribed to a datapackage) should receive a notification, and the type of notification tobe received by the mobile device. The connectivity system may forwardthe notification to the operator SMSC for transmission to the mobiledevice. As an example, a welcome message may not be transmitted to themobile device for a subsequent IMSI attach request received from themobile device after a first welcome message is transmitted to the mobiledevice after the first IMSI attach request is received from the mobiledevice. A subsequent IMSI attach request may be received from the mobiledevice if the mobile device is reset, powered off and on, etc., afterthe first welcome message is transmitted to the mobile device.

FIG. 6 is a flow diagram of a GPRS attach call flow, in accordance withsome embodiments of the invention. The SGSN receives (step 602) a GPRSattach request from the mobile device. The SGSN transmits (step 604) aMAP trace of an update GPRS location request to the connectivity system,which, in turn, transmits the update GPRS location request to the HLR(e.g., via an international signaling link). The HLR transmits (step606) a MAP of an insert subscriber data message to the connectivitysystem (e.g., via an international signaling link). Upon receiving atleast one of the update location request and/or the insert subscriberdata message, the connectivity system checks (step 610) whether themobile device has a subscription to the connectivity system. If nosubscription exists, the connectivity system transmits (step 610) amessage to the mobile device informing the user of the mobile device theoption of establishing a data package subscription. If a subscriptionexists, the connectivity system transmits (step 610) a welcome messageto the mobile device. The SGSN transmits (step 608) an attach acceptance(in response to the GPRS attach request) to the mobile device. Theattach acceptance may be transmitted at least one of before or after theupdate location request is transmitted from the SGSN the connectivitysystem and/or the insert subscriber data message is transmitted from theconnectivity system to the SGSN. No non-roaming signal traffic istransmitted through the connectivity system. In some embodiments, atleast some MAP messages are not transmitted through the connectivitysystem.

In some embodiments, the connectivity system executes operations (e.g.,logical operations such as those presented in FIG. 7) to determine ifthe mobile device (e.g., a mobile device that has subscribed to a datapackage) should receive a notification, and the type of notification tobe received by the mobile device. In some embodiments, the connectivitysystem executes further operations to determine whether a data packageplan (e.g., a 50 MB plan) should be provisioned to the mobile device (oran account associated with the mobile device) to allow the mobile deviceto access the connectivity system's web application or web page. Theconnectivity system may forward the notification to the operator SMSCfor transmission to the mobile device.

FIG. 7 is a process flow for a connectivity system and a mobile device,in accordance with some embodiments of the invention. In someembodiments, the connectivity system may refer to the connectivitysystem or any other system in communication with, either directly or indirectly, with the connectivity system. The other system may be indirect or indirect (via one or more other systems) wired or wirelesscommunication with the connectivity system. In some embodiments, anyreference to a mobile device may additionally or alternatively refer toat least one of a user associated with the mobile device, an accountassociated with the mobile device, or a computing device incommunication with the mobile device.

A user may board a flight in a first area (e.g., in a first country)where the user has an active mobile network (or cellular network)subscription and land in a second area (e.g., in the first country or ina second country) where the user does not have an active mobile networksubscription or where the cellular network associated with the activesubscription does not provide coverage. Once the user lands in thesecond area, the user may turn on the mobile device. Prior to the mobiledevice being turned on, it is in an initial state (state 702). Once themobile device is turned on, the IMSI attach process starts and the newstate of the mobile device is a voice roamer state (state 704). This isthe state to detect registered connectivity system users (registeredusers) or potential connectivity system users (silent roamers). Dataaccess provided by the connectivity system may be used by the registeredusers or silent roamers. The GPRS attach process is executed in parallelwith the IMSI attach process. If there is no GPRS attachment in acertain number of hours (e.g., 1 hour) from the point in time when themobile device is detected or from any other reference time, then the newstate of the mobile device is a silent roamer state (state 708). Ifthere is no GPRS attachment in the certain number of hours and a datapackage is detected as being associated with (e.g., previouslypurchased) by the mobile device, then the new state of the mobile deviceis a registered user state (state 706). In some embodiments, a datapackage for a mobile device may have been previously purchased by adifferent mobile device or computing device. If there is a GPRSattachment in the certain number of hours, and a data package isdetected as being associated with the mobile device, then the new stateof the mobile device is a pre-established user state (state 714).

If the mobile device enters the silent roamer state, the mobile devicereceives an opt-in message (e.g., “If you would like to use theconnectivity system's data, please reply as YES”). The message may betransmitted as an SMS or via any other transmission mechanisms describedherein.

If the mobile device responds with a “YES,” then the new state of themobile device is an opted-in user state (state 710). If the mobiledevice does not respond in a certain amount of time (e.g., time X), thenthe new state of the mobile device is a non-responsive user state (state712).

In the non-responsive user state, the mobile device receives an “opt-in”message (e.g., an SMS) a certain number of times, wherein a certaininterval is lapsed between each transmission of the message. Eachinterval may be of the same or different duration. If the mobile deviceresponds with a “YES,” then the new state of the mobile device is anopted-in user state. If there is no response a certain duration afterthe final “opt-in” message is transmitted to the mobile device, nofurther messages will be transmitted to the mobile device.

In the opted-in user state, a certain amount of free data is assigned tothe mobile device. The connectivity system may transmit a message to themobile device requesting activation of the roaming setting on the mobiledevice in order for the mobile device to obtain data access using theconnectivity system. The mobile device may use the free data to access aweb application or website associated with the connectivity system andpurchase a data package. The state of the mobile device is now that of acaptive user state (state 716).

In the captive user state, the mobile device receives a purchase messagethat includes a link (e.g., a URL) to an application or a pageassociated with the connectivity system's data access service. Uponselecting the click (or clicking the link), the application or page isdisplayed on the mobile device display. The application or page maydisplay one or more purchase options. Each purchase option may beassociated with a different data access quota, a different data accessperiod (e.g., 24 hours), a different data access area (e.g., an airport,a neighborhood, a store, a library, an office, a coffee shop, arectangular area of 50×50 meters, a circular area with a radius of 50meters, etc.) and/or a different data access price. The user of themobile device may select one of the options. The user may then enterpayment information or the mobile device may automatically fill inpayment information, and once the payment process has been approved, thestate of the mobile device becomes a registered user state. An externalpayment tokenization system may be used to collect the user's paymentinformation (e.g., input by the user) and process the paymentinformation. The connectivity system may not store any paymentinformation input by the user. In some embodiments, the external paymenttokenization system may store the payment information. If the user doesnot purchase the package, the mobile device receives the purchasemessage a certain number of times, wherein a certain interval is lapsedbetween each transmission of the message. Each interval may be of thesame or different duration. If the mobile device purchases the package,then the new state of the mobile device is a registered user state. Ifthere is no response a certain duration after the final purchase messageis transmitted to the mobile device, no further messages will betransmitted to the mobile device.

In the registered user state, the mobile device is ready for dataaccess. The mobile device receives a messages informing the user thatthe mobile device is ready to be used and that the roaming setting onthe mobile device should be activated. The mobile device now enters theactive user state (state 724).

In the active user state, the mobile device may be used for accessingand using web applications and web pages. The connectivity system maytransmit a message to the mobile device when the mobile device has usedup a certain data quota threshold associated with the purchased datapackage. The message may prompt the user to renew the data package. Forexample, the message may include a renewal link. When the renewal linkis selected, the mobile device display may be directed to a renewalapplication or a renewal webpage. In some embodiments, the user mayrenew with a single click (or single selection). In some embodiments,the user may renew by transmitting a renewal message from the mobiledevice (e.g., a text message such as an SMS). In other embodiments, theuser may have to perform the payment process again to renew the package.If the mobile device is reset or if the mobile device is turned off andthen turned on while the data package conditions have not been exhausted(e.g., data quota used, data package validity period expired, mobiledevice has moved outside of valid usage area, etc.), the state of themobile device remains as an active user state. If the data packageconditions have been exhausted and the user does not renew the packageprior to the exhaustion, the state of the mobile device becomes thefinished package state (state 722). In some embodiments, the user maymonitor used data or remaining data and usage information (e.g., type ofapplications used, duration of data session, etc.) through a webapplication and/or a web page associated with the connectivity system.

In the pre-established user state, the mobile device is ready for usingdata associated with a pre-purchased data package. The connectivitysystem transmits a message to the mobile device informing the user thatthe mobile device can be used for data access (e.g., for accessing theInternet). Either prior or after transmission of the message, the stateof the mobile device becomes the active user state.

In the finished package state, the mobile device has no remaining datafor data access. Therefore, the connectivity system assigns a certainamount of free data to the mobile device. The connectivity systemtransmits a message to the mobile device informing the user that theuser has no remaining data and that the user needs to renew the datapackage in order to regain data access. The message may also include alink. Upon selecting the link, the mobile device directs the mobiledevice display to a connectivity system's application or website torenew the data package. The state of the mobile device becomes a captiveuser state.

A mobile device enters a non-used and expired package state (state 720)if the mobile device does not use the data package for accessing datafor a certain period or if the period of validity of the data packagehas expired. Upon changing the state of the mobile device to thenon-used and expired package stage, the connectivity system transmits amessage to the mobile device informing the user that the data packagehas not been used for a certain period and/or that the period ofvalidity of the data package has expired. Either prior to or aftertransmitting the message to the mobile device, the state of the mobiledevice becomes an inactive state (state 718). In the inactive state, nomessages are transmitted from the connectivity system to the mobiledevice. In some embodiments, even though operations are indicated asbeing performed by the connectivity system (e.g., transmitting and/orreceiving messages), the operations may merely be initiated by theconnectivity system and may be performed by other systems or devices incommunication with the connectivity system.

FIG. 8 is a flow diagram of a cancel location procedure, in accordancewith some embodiments of the invention. The connectivity system receives(step 802) a GPRS attach request from the mobile device. Theconnectivity system sends the GPRS attach request to the new SGSN.Alternatively, the GPS attach request is directly transmitted from themobile device to the new SGSN. Any transmissions described herein may bemade by a signaling link. The SGSN transmits (step 804) a MAP trace ofan update GPRS location request to the HLR, which, in turn, transmits aMAP of an insert subscriber data message (step 806) to the connectivitysystem (e.g., via an international signaling link).

At step 808, the connectivity system receives a cancel location requestfrom at least one of the HLR or MAP trace and checks the IMSI. Inresponse to receiving the cancel location request, the connectivitysystem sends a cancel location acknowledgment to the HLR (step 810). Ifwithin a predetermined duration, there is no “GPRS update location” or“routing area update” message within the visited network for the IMSI,then the connectivity system determines that the mobile device has goneto another PLMN. During this predetermined duration, the connectivitysystem may check whether the mobile device moves to another PLMN area oranother SGSN area associated with the visited PLMN. Upon making thedetermination that the mobile device has gone to another PLMN, theconnectivity system sends a message to the mobile device warning themobile device that data traffic consumed from the time of making thedetermination and/or sending the message may be charged according tocertain charge schedule (step 812).

FIG. 9 is a flow diagram of a LTE connectivity system embodiment, inaccordance with some embodiments of the invention. The connectivitysystem 910 may be located between the SGW and the PGW. Since it is usualto see more than one bearer in LTE (e.g., in VoLTE embodiments), theconnectivity system performs a proxy operation for the default anddedicated bearers' setup for Internet traffic. The connectivity systemmay probe the Diameter protocol in order to catch relevant messages suchas messages regarding update location, cancel location, etc. Asdescribed herein, the connectivity system may probe for MAP protocol aswell.

FIG. 9 shows default bearer 902 and supplementary bearer 904 signalstransmitted from the SGW (associated with SGSN) to the PGW. Generalpurpose bearer signals 906 carrying Internet, email, application datamay be transmitted from the SGW to the connectivity system, and thenfrom the connectivity system to the PGW. VoLTE speech bearer signals 908may be transmitted from the PGW to the SGW.

Any features described in the specification with respect to 3G networkare also applicable to LTE networks. GPRS attach, SGSN, GGSN, MAPprotocol, HLR, create PDF context request in GPRS/UMTS networks maycorrespond to data attach, SGW, PGW, diameter protocol, HLR/HSS, createsession request, respectively, in LTE networks.

FIGS. 10A to 10H are a process flow for a connectivity system and amobile device, in accordance with some embodiments of the invention. Insome embodiments, the connectivity system may refer to the connectivitysystem and/or any other system (e.g., mobile device or any other localor remote computing apparatus) in communication with, either directly orin directly, with the connectivity system. The other system may be indirect or indirect (via one or more other systems) wired or wirelesscommunication with the connectivity system. In some embodiments, anyreference to a mobile device may additionally or alternatively refer toat least one of a user associated with the mobile device, an accountassociated with the mobile device, or a computing device incommunication with the mobile device.

A user may board a flight in a first area (e.g., in a first country)where the user has an active mobile network (or cellular network)subscription and land in a second area (e.g., in the first country or ina second country) where the user does not have an active mobile networksubscription or where the cellular network associated with the activesubscription does not provide coverage. Once the user lands in thesecond area, the user may turn on the mobile device. Prior to the mobiledevice being turned on, it is in an initial state (state 1). Once themobile device is turned on, the IMSI attach process starts and the newstate of the mobile device is a voice roamer state (state 2). In state2, the connectivity system determines whether the mobile device is apreviously unresponsive mobile device or a user who previously left thenetwork. If the answer is yes from state 2, the mobile device isdetermined to not be a registered mobile device or user (END1). At anytime, if the mobile device purchases a package and becomes a registeredmobile device (state 80), the connectivity system sends a message to themobile device informing the user of the mobile device that the mobiledevice is a registered mobile device. If the answer is “no” from state2, the connectivity system listens for GPRS attachment (datatransmission and/or reception associated with mobile device) in state 3.If GPRS attachment is successful within a certain period and no packageis purchased by the mobile device within a certain period of the GPRSattachment being successful, the mobile device returns to the END1state. If GPRS attachment is not successful within a certain period andno package is purchased within a certain period, the mobile deviceobtains a silent roamer status (state 4).

If the mobile device is determined to be a silent roamer (state 4), theconnectivity system sends a message (e.g., a SMS message) to the mobiledevice. If the mobile device responds to the message within a certainperiod, the mobile device achieves state 5, in which the mobile deviceis an opted-in user and the data operation of the mobile device isdetermined to be off. A certain amount of data (free of charge) isactivated for the mobile device and a message is transmitted to themobile device informing the user of this certain amount of data. Theconnectivity system also listens for GPRS attachment of the mobiledevice in state 5. If the GPRS attachment is successful within thecertain period, the mobile device obtains the opted-in user state and/orGPRS attached state (state 6). If the GPRS attachment from state 5 isnot successful within the certain period, the mobile device obtains thenon-responsive user state (state 91). In this state, a certain number ofmessages may be sent from the connectivity system to the mobile devicewith an interval between each message. Each message may remind a user toturn on a data operation associated with the mobile device. If the GPRSattachment of state 5 is successful within a certain period in state 91,the mobile device enters state 6. If the mobile device remains in state91 for a certain period, the mobile device is determined to be aninactive user (state 101). In such an instance, the connectivity systemdeactivates the previously activated certain amount of data for themobile device. The connectivity system may send a message to the mobiledevice informing the user of this deactivation. The mobile device thenenters END2 state in which the connectivity system does not perform anyfunctions (e.g., transmissions or receptions of messages) associatedwith the mobile device.

While in state 4, if the mobile device does not respond to theconnectivity system's message for a certain period, the mobile deviceenters state 90 in which it is determined to be a non-responsive user.In such a state, the connectivity system resends the same or a similarmessage to the mobile device a certain number of times with an intervalbetween each instance of sending the message to the mobile device. Ifthe mobile device responds to the message opting in to the connectivitysystem's limited service (e.g., certain amount of free data), the mobiledevice enters state 5. If the mobile device does not respond for aperiod of time in state 90, the mobile device enters state 100 in whichit is determined to be an inactive user. Alternatively, from state 4, ifthe mobile device replies “no” to opting in to the connectivity system'slimited service (e.g., certain amount of free data), the mobile deviceenters the inactive user state. The connectivity system may send amessage to the mobile device in this state informing the mobile devicethat it has entered the inactive user state. The mobile device is now inthe END2 state.

While in state 6, the method of FIG. 4 is performed for the mobiledevice. For example, the connectivity system acts as a data access proxyfor the mobile device that enables the mobile device to access datausing the foreign mobile network without needing to install a new SIMcard associated with the foreign mobile network. In state 6, the proxyfunction of the connectivity system is activated for the mobile deviceif it has not been previously activated. As used herein, a SIM card mayrefer to any type of card or cardless activation mechanism for a mobiledevice on a network. In state 6, the mobile device displays a screenprompting the mobile device become a registered mobile device (i.e., anoption to purchase a data package). If the user selects an option to notbecome a registered mobile device, the mobile device enters state 94 inwhich the mobile device has the status of a released user. In such astate, the connectivity system deactivates the previously activatedcertain amount of data for the mobile device. The connectivity systemalso stops acting as a data access proxy for the mobile device. Theconnectivity system may send a message to the mobile device informingthe mobile device of these updates. While in state 6, if the mobiledevice does not respond to a prompt to become a registered mobiledevice, the mobile device obtains the status of a non-responsive user(state 92). In this state, the mobile device may send periodic messagesto the mobile device prompting the mobile device to become a registeredmobile device. If the mobile device spends a certain amount of time instate 92, the mobile device obtains the status of an inactive user(state 102). In such a state, the connectivity system deactivates thepreviously activated certain amount of data for the mobile device. Theconnectivity system also stops acting as a data access proxy for themobile device. The connectivity system may send a message to the mobiledevice informing the mobile device of these updates. The mobile devicethen enters the state END2. While in state 92, if the mobile deviceactively rejects the prompt or offer to become a registered mobiledevice, the mobile device obtains state 94.

If while in state 6 or alternatively while in state 92, the user of themobile device selects an option to become a registered mobile device(e.g., selects a purchase option), the mobile device obtains a captiveuser state (state 7) and a screen showing a list of packages and cost ofeach package may be displayed. While in state 7, if the mobile devicebecomes a registered mobile device (e.g., by purchasing a data package),the mobile device obtains state 8. While in state 7, if the mobiledevice does not become a registered mobile device within a certainperiod, the mobile device obtains state 95 (unresponsive captivestatus). While in this state, the connectivity system sends periodicmessages to the mobile device providing reminders to become a registeredmobile device. While in state 95, if the mobile device becomes aregistered mobile device (e.g., by purchasing a data package), themobile device obtains state 8.

While in state 3 (resolution state), if GPRS attachment for the mobiledevice is unsuccessful within a certain period and the mobile device isa registered mobile device, the mobile device obtains state 30. While instate 30, the connectivity system sends a message to the mobile devicereminding the user of the mobile device that the mobile device is aregistered mobile device but that the GPRS connection is unsuccessfulfor the mobile device (e.g., because a user has turned off, on themobile device, a data connection to and/or from the mobile device).While in state 30, if GPRS attachment is successful within a certainperiod because a data connection to the mobile device has been turnedon, the mobile device reaches state 8. State 8 is that of an alreadyregistered (prepurchased) user. In state 8, the prepurchased packageassociated with the mobile device is activated for the mobile device(e.g., by the connectivity system). Also, the proxy function of theconnectivity system is also activated for the mobile device if it hasnot been previously activated. Additionally, in state 8, theconnectivity system sends a message to the mobile device informing theuser of the activation of the data package and/or proxy. In state 8, theuser can use the mobile device for data functions (e.g., email, apps,Internet, etc.).

From state 30, if the GPRS attachment is unsuccessful within a certainperiod, the mobile device reaches state 93, in which a response is notreceived from the mobile device. In such a state, the connectivitysystem sends multiple messages to the mobile device, each device beingsent after a certain interval. Each message may remind the user of themobile device to activate the data transmission (i.e., data access) toand from the mobile device. If there is no response within a certainperiod, the mobile device enters state 96, which is the unresponsivestate. From this state, the mobile device reaches the END2 state. If,from state 93, the data connection for the mobile device is activatedwithin a certain period, the mobile device obtains state 8.

When the data package is activated (along with the proxy function of theconnectivity system) for the mobile device, the mobile device obtainsthe active user state (state 9). If, while in state 9, the user of themobile device (or some other user on some other remote computing device)purchases another package for the mobile device, the mobile deviceenters state 81 in which the mobile device, which is already aregistered mobile device, purchases another package. The connectivitysystem may send the mobile device a message informing the user of thisadditional purchase. While in state 9, the connectivity system may sendperiodic messages to the mobile device informing the mobile device ofhow much time and/or data usage amount is remaining and/or has beenconsumed on the purchased package. The connectivity system may send morefrequent messages as the amount of available data becomes less and less.Once the amount of available data falls below a certain threshold levelor drops to zero, the mobile device obtains the finished package state(state 10).

While in state 10, the connectivity system sends a message to the mobiledevice informing the user of the mobile device that the purchased datapackage has been exhausted. While in state 10, if the mobile device isassociated with one or more other non-exhausted packages, the mobiledevice enters state 12. In state 12, one of the other non-exhausted(e.g., unused or partially used) packages are activated for the mobiledevice and then the mobile device enters state 8. While in state 10, ifthe mobile device is not associated with any other non-exhaustedpackages, the mobile device enters state 11. In state 11, theconnectivity system activates a limited amount of data (i.e., free data)and sends a message to the mobile device informing the mobile device ofthis activated data. From state 11, the mobile device enters state 6.

While in any state or at any time during the method of FIG. 10, themobile device may obtain state 50 which means the data package (e.g., apurchased data package) associated with the mobile device has expired,regardless of whether it has been exhausted or is not exhausted. Whilein this state, the connectivity system may determine whether anotherunexpired package (e.g., purchased package) exists for the mobiledevice. If another unexpired package does not exist, the connectivitysystem sends a message to the mobile device informing the user of themobile device that no other unexpired package exists. Additionally, theconnectivity system deactivates the connectivity system's proxy serviceor function for the mobile device. If another unexpired package existsfor the mobile device and the data connection of the mobile device isactivated (and the mobile device is in a foreign mobile network, e.g.,in a foreign country), the mobile device obtains state 8. If anotherunexpired package exists for the mobile device and the data connectionof the mobile device is not activated or the mobile device is notlocated in a foreign mobile network (e.g., in a foreign country), theconnectivity system does not perform any function for the mobile device.

While in any state or at any time during the method of FIG. 10, the userof a mobile device may select an option to exit the connectivitysystem's service (or an option to stop using data access providedthrough the connectivity system). If such a selection is made, theconnectivity system is deactivated as a proxy for the mobile device.Additionally, the connectivity system may send a message to the mobiledevice providing or confirming this update.

While in any state or at any time during the method of FIG. 10, the userof a mobile device may select a “cancel location” option. Alternatively,this option may be automatically received if the user selects to use adifferent operator or different connectivity system. In such aninstance, the connectivity system may send a message to the mobiledevice informing the mobile device of the disconnection.

Any transmission, reception, connection, or communication may occurusing any short-range (e.g., Bluetooth, Bluetooth Low Energy, near fieldcommunication, Wi-Fi Direct, etc.) or long-range communication mechanism(e.g., Wi-Fi, cellular, etc.). Additionally or alternatively, anytransmission, reception, connection, or communication may occur usingwired technologies. Any transmission, reception, or communication mayoccur directly between systems or indirectly via one or more systems.

The term signal, signals, or data may refer to a single signal ormultiple signals. Any reference to a signal may be a reference to anattribute of the signal, and any reference to a signal attribute mayrefer to a signal associated with the signal attribute. As used herein,the term “real-time” or “dynamically” in any context may refer to any ofcurrent, immediately after, simultaneously as, substantiallysimultaneously as, a few microseconds after, a few milliseconds after, afew seconds after, a few minutes after, a few hours after, a few daysafter, a period of time after, etc. In some embodiments, the term“modify” or “modification” may be interchangeably used with the term“transform” or “transformation.”

The present disclosure provides several important technical advantagesthat will be readily apparent to one skilled in the art from thefigures, descriptions, and claims. Moreover, while specific advantageshave been enumerated above, various embodiments may include all, some,or none of the enumerated advantages. Any sentence or statement in thisdisclosure may be associated with one or more embodiments. Referencenumerals are provided in the specification for the first instance of anelement that is numbered in the figures. In some embodiments, thereference numerals for the first instance of the element are alsoapplicable to subsequent instances of the element in the specificationeven though reference numerals may not be provided for the subsequentinstances of the element.

While various embodiments in accordance with the disclosed principleshave been described above, it should be understood that they have beenpresented by way of example only, and are not limiting. Thus, thebreadth and scope of the invention(s) should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the claims and their equivalents issuing from thisdisclosure. Furthermore, the above advantages and features are providedin described embodiments, but shall not limit the application of suchissued claims to processes and structures accomplishing any or all ofthe above advantages.

Additionally, the section headings herein are provided for consistencywith the suggestions under 37 C.F.R. 1.77 or otherwise to provideorganizational cues. These headings shall not limit or characterize theinvention(s) set out in any claims that may issue from this disclosure.Specifically, a description of a technology in the “Background” is notto be construed as an admission that technology is prior art to anyinvention(s) in this disclosure. Neither is the “Summary” to beconsidered as a characterization of the invention(s) set forth in issuedclaims. Furthermore, any reference in this disclosure to “invention” inthe singular should not be used to argue that there is only a singlepoint of novelty in this disclosure. Multiple inventions may be setforth according to the limitations of the multiple claims issuing fromthis disclosure, and such claims accordingly define the invention(s),and their equivalents, that are protected thereby. In all instances, thescope of such claims shall be considered on their own merits in light ofthis disclosure, but should not be constrained by the headings herein.

1-74. (canceled)
 75. A connectivity system for directing data traffic ina foreign mobile network, the connectivity system for: receiving datatraffic from a visited serving general packet radio system support node(SGSN) or visited serving gateway (SGW) associated with the foreignmobile network, wherein the visited SGSN or SGW receives the datatraffic from a foreign access point name (APN) associated with a mobiledevice, wherein a network address lookup for the foreign APN results ina network address of the connectivity system; determining whether thedata traffic comprises local breakout (LBO) traffic or non-LBO traffic;and in response to determining the data traffic comprises LBO traffic,transmitting the LBO traffic to a visited gateway general packet radiosystem support node (GGSN) or visited packet gateway (PGW) associatedwith the foreign mobile network.
 76. The connectivity system of claim75, wherein the LBO traffic is associated with a subscription to theconnectivity system, wherein the subscription comprises a first quota ofdata access.
 77. The connectivity system of claim 76, wherein the firstquota of data access is offered to the mobile device based on: executinga first attach operation for the mobile device, the first attachoperation resulting in a successful first attachment for the mobiledevice; determining, for a particular period, non-execution of a secondattach operation associated with a second attachment for the mobiledevice; and classifying, based on the successful first attachment andthe non-execution of the second attach operation for the particularperiod, the mobile device as a silent roamer.
 78. The connectivitysystem of claim 75, wherein the connectivity system is further for inresponse to determining the data traffic comprises non-LBO traffic,transmitting the LBO traffic to the visited GGSN or PGW associated withthe foreign mobile network.
 79. The connectivity system of claim 75,wherein domestic data traffic associated with a domestic APN istransmitted directly from the visited SGSN or SGW to the visited GGSN orPGW, and is not transmitted via the connectivity system.
 80. Theconnectivity system of claim 75, wherein domestic data traffic isreceived from the mobile device.